package com.elai.tags.domain;

import java.util.Date;

import com.elai.common.annotation.Excel;
import com.elai.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 分级配置对象 base_user_tags_level
 *
 * @author elai
 * @date 2021-06-27
 */
public class BaseUserTagsLevelDO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 标签ID */
    @Excel(name = "标签ID")
    private Long tagsId;

    /** 分级数 */
    @Excel(name = "分级数")
    private Integer tagsLevel;

    /** 分级名称 */
    @Excel(name = "分级名称")
    private String levelName;

    /** 分级描述 */
    @Excel(name = "分级描述")
    private String levelDescription;

    /** 分级规则 */
    @Excel(name = "分级规则")
    private String tagLevelRule;

    /** 预估类型 */
    @Excel(name = "预估类型")
    private String reckonType;

    /** 预估值 */
    @Excel(name = "预估值")
    private Integer reckonValue;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 最后计算状态 */
    @Excel(name = "最后计算状态")
    private String lastCalcStatus;

    /** 查询时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "查询时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date resultTime;

    /** 查询结果 */
    @Excel(name = "查询结果")
    private Long resultNum;

    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }

    public void setTagsId(Long tagsId)
    {
        this.tagsId = tagsId;
    }
    public Long getTagsId()
    {
        return tagsId;
    }

    public void setTagsLevel(Integer tagsLevel)
    {
        this.tagsLevel = tagsLevel;
    }
    public Integer getTagsLevel()
    {
        return tagsLevel;
    }

    public void setLevelName(String levelName)
    {
        this.levelName = levelName;
    }
    public String getLevelName()
    {
        return levelName;
    }

    public void setLevelDescription(String levelDescription)
    {
        this.levelDescription = levelDescription;
    }
    public String getLevelDescription()
    {
        return levelDescription;
    }

    public void setTagLevelRule(String tagLevelRule)
    {
        this.tagLevelRule = tagLevelRule;
    }
    public String getTagLevelRule()
    {
        return tagLevelRule;
    }

    public void setReckonType(String reckonType)
    {
        this.reckonType = reckonType;
    }
    public String getReckonType()
    {
        return reckonType;
    }

    public void setReckonValue(Integer reckonValue)
    {
        this.reckonValue = reckonValue;
    }
    public Integer getReckonValue()
    {
        return reckonValue;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }
    public String getStatus()
    {
        return status;
    }

    public void setLastCalcStatus(String lastCalcStatus)
    {
        this.lastCalcStatus = lastCalcStatus;
    }
    public String getLastCalcStatus()
    {
        return lastCalcStatus;
    }

    public void setResultTime(Date resultTime)
    {
        this.resultTime = resultTime;
    }
    public Date getResultTime()
    {
        return resultTime;
    }

    public void setResultNum(Long resultNum)
    {
        this.resultNum = resultNum;
    }
    public Long getResultNum()
    {
        return resultNum;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tagsId", getTagsId())
            .append("tagsLevel", getTagsLevel())
            .append("levelName", getLevelName())
            .append("levelDescription", getLevelDescription())
            .append("tagLevelRule", getTagLevelRule())
            .append("reckonType", getReckonType())
            .append("reckonValue", getReckonValue())
            .append("status", getStatus())
            .append("lastCalcStatus", getLastCalcStatus())
            .append("resultTime", getResultTime())
            .append("resultNum", getResultNum())
            .toString();
    }
}
